package com.start.avue.calculate;

import java.math.BigDecimal;
import java.util.Collection;

public interface StartCalculate {
    /**
     * 重置
     */
    default void rest() {

    }

    /**
     * 计算类型
     *
     * @return
     */
    String calculateType();

    /**
     * 是否自动注入bean
     *
     * @return
     */
    default boolean autoInjectBean() {
        return false;
    }

    /**
     * 计算
     *
     * @param pre        上一次值
     * @param cur        当前值
     * @param index      当前下标
     * @param collection 当前集合
     * @return
     */
    BigDecimal calculate(BigDecimal pre, BigDecimal cur, int index, Collection<?> collection);


}
